package jsd2108.game.server.service;

import jsd2108.game.server.entity.Hero;
import jsd2108.game.server.entity.OptInfo;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * 接受操作的业务类
 */
@Data
@Accessors(chain = true)
public class OptService {

    private OptInfo optInfo;
    private List<Hero> heroList;

    public OptService(){}

    public OptService(OptInfo optInfo,List<Hero> heroList){
        this.optInfo=optInfo;
        this.heroList=heroList;
    }


    /**
     * 总体操作
     */
    public void opt(){

        //向右移动
        if(optInfo.getOpt().equals("D")){
            moveRight();
            return;
        }

        //向左移动
        if(optInfo.getOpt().equals("A")){
            moveLeft();
            return;
        }

    }

    /**
     * 向右移动
     */
    private void moveRight(){
        for (Hero hero:heroList) {
            if(hero.getName().equals(optInfo.getName())){
                System.out.println(new Date().toString()+"\t"+optInfo.getName()+"战机向右进行了移动");
                hero.setX(hero.getX()+1);
            }
        }
    }

    /**
     * 向左移动
     */
    private void moveLeft(){
        for (Hero hero:heroList) {
            if(hero.getName().equals(optInfo.getName())){
                System.out.println(new Date().toString()+"\t"+optInfo.getName()+"战机向左进行了移动");
                hero.setX(hero.getX()-1);
            }
        }
    }

}
